
using System;

namespace SpotifyGenNHibernate.EN.Spotify
{
        public class AlbumEN
        {
        /**
         *
         */

        private int idAlbum;

        /**
         *
         */

        private int numeroPistas;

        /**
         *
         */

        private int año;

        /**
         *
         */

        private String discografia;

        /**
         *
         */

        private System.Collections.Generic.IList<SpotifyGenNHibernate.EN.Spotify.CancionEN> cancion;

        /**
         *
         */

        private Spotify.ArtistaEN artista;





        public virtual int IdAlbum { get { return idAlbum; } set { idAlbum = value;  } }


        public virtual int NumeroPistas { get { return numeroPistas; } set { numeroPistas = value;  } }


        public virtual int Año { get { return año; } set { año = value;  } }


        public virtual String Discografia { get { return discografia; } set { discografia = value;  } }


        public virtual System.Collections.Generic.IList<SpotifyGenNHibernate.EN.Spotify.CancionEN> Cancion { get { return cancion; } set { cancion = value;  } }


        public virtual Spotify.ArtistaEN Artista { get { return artista; } set { artista = value;  } }



        public AlbumEN()
        {
        }



        public AlbumEN(int idAlbum, int numeroPistas, int año, String discografia, System.Collections.Generic.IList<SpotifyGenNHibernate.EN.Spotify.CancionEN> cancion, Spotify.ArtistaEN artista)
        {
                this.init (idAlbum, numeroPistas, año, discografia, cancion, artista);
        }


        public AlbumEN(AlbumEN album)
        {
                this.init (album.IdAlbum, album.NumeroPistas, album.Año, album.Discografia, album.Cancion, album.Artista);
        }

        private void init (int idAlbum, int numeroPistas, int año, String discografia, System.Collections.Generic.IList<SpotifyGenNHibernate.EN.Spotify.CancionEN> cancion, Spotify.ArtistaEN artista)
        {
                this.IdAlbum = IdAlbum;


                this.NumeroPistas = numeroPistas;

                this.Año = año;

                this.Discografia = discografia;

                this.Cancion = cancion;

                this.Artista = artista;
        }

        public override bool Equals (object obj)
        {
                if (obj == null)
                        return false;
                AlbumEN t = obj as AlbumEN;
                if (t == null)
                        return false;
                if (IdAlbum.Equals (t.IdAlbum))
                        return true;
                else
                        return false;
        }

        public override int GetHashCode ()
        {
                int hash = 13;

                hash += (null == IdAlbum ? 0 : this.IdAlbum.GetHashCode ());
                return hash;
        }
        }
}
